package com.ycj.design.create.factory.easy;

/**
 * 简单工厂模式（静态工厂）
 * 特点：它是一个具体的类，非接口抽象类，有一个重要的create（）方法
 * 利用if或者switch创建产品并返回
 * create（）通常时静态的，所以也称为静态工厂
 * 缺点：扩展性差（我想增加一种面条，除了新增一个面条产品类，还需要修改工厂类方法）
 * 不同的产品需要不同额外参数的时候，不支持
 * 简单面馆提供三种面条
 * @author chuanjieyang
 * @date Nov 20, 2018 15:51:23 PM
 */
public class SimpleNoodlesFactory {
    public static final int TYPE_LZ=1;//兰州拉面
    public static final int TYPE_PM=2;//泡面
    public static final int TYPE_GK=3;//干口面

    public static INoodles createNoodles(int type){
        switch (type){
            case TYPE_LZ:
                return new LzNoodles();
            case TYPE_PM:
                return new PaoNoodles();
            case TYPE_GK:
                return new GanKouNoodles();
            default:return new GanKouNoodles();
        }
    }
}
